home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / etc / avahi / avahi-autoipd.action next >
Text File  |  2009-10-18  |  2KB  |  79 lines

  1. #!/bin/sh
  2.  
  3. # $Id$
  4. #
  5. # This file is part of avahi.
  6. # avahi is free software; you can redistribute it and/or modify it
  7. # under the terms of the GNU Lesser General Public License as
  8. # published by the Free Software Foundation; either version 2 of the
  9. # License, or (at your option) any later version.
  10. #
  11. # avahi is distributed in the hope that it will be useful, but WITHOUT
  12. # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  13. # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
  14. # License for more details.
  15. #
  16. # You should have received a copy of the GNU Lesser General Public
  17. # License along with avahi; if not, write to the Free Software
  18. # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
  19. # USA.
  20.  
  21. set -e
  22.  
  23. # Command line arguments:
  24. #   $1 event that happened:
  25. #          BIND:     Successfully claimed address
  26. #          CONFLICT: An IP address conflict happened
  27. #          UNBIND:   The IP address is no longer needed
  28. #          STOP:     The daemon is terminating
  29. #   $2 interface name
  30. #   $3 IP adddress
  31.  
  32. if [ -x /bin/ip -o -x /sbin/ip ] ; then
  33.  
  34.     # We have the Linux ip tool from the iproute package
  35.  
  36.     case "$1" in
  37.         BIND)
  38.             ip addr add "$3"/16 brd 169.254.255.255 label "$2:avahi" scope link dev "$2" 
  39.             ;;
  40.  
  41.         CONFLICT|UNBIND|STOP)
  42.             ip addr del "$3"/16 brd 169.254.255.255 label "$2:avahi" scope link dev "$2" 
  43.             ;;
  44.  
  45.         *)
  46.             echo "Unknown event $1" >&2
  47.             exit 1
  48.             ;;
  49.     esac
  50.  
  51. elif [ -x /bin/ifconfig -o -x /sbin/ifconfig ] ; then
  52.  
  53.     # We have the old ifconfig tool
  54.  
  55.     case "$1" in
  56.         BIND)
  57.             ifconfig "$2:3" inet "$3" netmask 255.255.0.0 broadcast 169.254.255.255 up
  58.             ;;
  59.  
  60.         CONFLICT|STOP|UNBIND)
  61.             ifconfig "$2:3" down
  62.             ;;
  63.  
  64.         *)
  65.             echo "Unknown event $1" >&2
  66.             exit 1
  67.             ;;
  68.     esac
  69.  
  70. else
  71.  
  72.     echo "No network configuration tool found." >&2
  73.     exit 1
  74.  
  75. fi
  76.  
  77. exit 0
  78.